在 PowerShell 中,管線(Pipeline)是一種將多個命令串接在一起的方式,讓前一個命令的輸出直接作為下一個命令的輸入。這與其他命令列介面的管線概念類似,但 PowerShell 的獨特之處在於它傳遞的是物件,而非純文字。
PowerShell 透過管線( pipeline )將命令彼此串接在一起。管線提供了一種方法,讓一個命令將它的輸出結果傳遞( pass )或傳送( pipe )到另外一個命令,這樣第二個命令就有東西可以處理。
Get-Process
是第一個指令,目的是取得本機電腦上正在執行的進程後產生一個 Process 物件的列表。
接著透過 | ( pipeline ) 將剛剛 Get-Process
產生出來的物件列表傳遞給下一個命令 Where-Object
,它根據 predicate (花括弧)裡面的條件回覆 True 或 False,進而產生符合條件的 Object 後 output 出來。
Where-Object { $\_.CPU -gt 2000 }
PS /Users/kanglin> Get-Process | Export-CSV procs2.CSV
PS /Users/kanglin> code ./procs2.CSV
Export-CSV 是一個原生的 PowerShell cmdlet,它知道如何將 Get-Process 產生的結果轉化成標準的 CSV 檔案。
PS /Users/kanglin> Import-Csv ./procs2.CSV | Format-Table | more
Creates table-like custom objects from the items in a character-separated value (CSV) file.
Formats the output as a table.
Day 7 - 管線:串接命令 Part 2